package com.zbkj.crmeb.finance.service;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.common.PageParamRequest;
import com.github.pagehelper.PageInfo;
import com.zbkj.crmeb.finance.model.UserRecharge;
import com.zbkj.crmeb.finance.request.GetListRequest;
import com.zbkj.crmeb.finance.request.UserRechargeSearchRequest;
import com.zbkj.crmeb.finance.response.UserRechargeResponse;
import com.zbkj.crmeb.front.request.UserRechargeRequest;

/**
* @author Mr.Zhang
* @description UserRechargeService 接口
* @date 2020-05-11
*/
public interface UserRechargeService extends IService<UserRecharge> {

    List<UserRechargeResponse> getList(UserRechargeSearchRequest request, PageParamRequest pageParamRequest);

    HashMap<String, BigDecimal> getBalanceList();

    UserRecharge getInfoByEntity(UserRecharge userRecharge);

    UserRecharge create(UserRechargeRequest request);

    Boolean complete(UserRecharge userRecharge);

    BigDecimal getSumBigDecimal(Integer uid);
    
    PageInfo<UserRecharge> pageEntity(UserRechargeRequest request);
    
    /**
     * 商户可提现余额转出到可用余额
     * @Description:  
     * @author daigb 
     * @param @param account
     * @param @return
     * @return Boolean
     * @throws
     */
    Boolean withdrawAccount(BigDecimal account, String ip);

    UserRechargeResponse getRechargeInfo(Integer id);

    /**
     * List<UserRechargeResponse>
     * @param request
     * @return
     */
    List<UserRechargeResponse> getListByTradeType(GetListRequest request);
}